package com.xinghai.web.controller.dingtalk.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinghai.common.annotation.Excel;
import com.xinghai.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用车信息对象 xh_use_vehicle_info
 * 
 * @author xinghai
 * @date 2024-07-17
 */
@NoArgsConstructor
@AllArgsConstructor
@Data
public class XhUseVehicleInfoVo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 设备类型（字典值8001XX） */
    @Excel(name = "设备类型", readConverterExp = "字=典值8001XX")
    private Long eqType;

    /** 项目经理 */
    @Excel(name = "项目经理")
    private String projectManager;

    /** 发货方式 */
    @Excel(name = "发货方式")
    private String deliverWay;

    /** 发货原因 */
    @Excel(name = "发货原因")
    private String deliverDesc;

    /** 始发地 */
    @Excel(name = "始发地")
    private String beginAddr;

    /** 始发地联系人 */
    @Excel(name = "始发地联系人")
    private String beginContact;

    /** 帐号状态（0正常 1停用） */
    @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标志（0代表存在 1代表删除） */
    private String delFlag;

    /** 最后登录IP */
    @Excel(name = "最后登录IP")
    private String loginIp;

    /** 最后登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date loginDate;

    /** 目的地 */
    @Excel(name = "目的地")
    private String endAddr;

    /** 目的地联系人 */
    @Excel(name = "目的地联系人")
    private String endContact;

    /** 发货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliverDate;

    /** 需求到货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "需求到货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date needGiveDate;

    /** 需求车型 */
    @Excel(name = "需求车型")
    private Long needVehicle;

    /** 预估装载率（100.00） */
    @Excel(name = "预估装载率", readConverterExp = "1=00.00")
    private BigDecimal estimateLoadRate;

    /** 发货设备入库单号 */
    @Excel(name = "发货设备入库单号")
    private String pushStashNo;

    /** 发货设备移库单号 */
    @Excel(name = "发货设备移库单号")
    private String changeStashNo;

    /** 公里数 */
    @Excel(name = "公里数")
    private BigDecimal kilometre;

    /** 图片地址（逗号分割） */
    @Excel(name = "图片地址", readConverterExp = "逗=号分割")
    private String imgLinks;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String detailedAddress;

    @Excel(name = "装车人员")
    private String puckVehPeople;

    @Excel(name = "发货名称")
    private String deliverName;

    /** 是否产生异常费用 */
    @Excel(name = "是否产生异常费用")
    private String isAbnormalSum;

    /** 所在部门 */
    @Excel(name = "所在部门")
    private Long deptId;



    public String getPuckVehPeople() {
        return puckVehPeople;
    }

    public void setPuckVehPeople(String puckVehPeople) {
        this.puckVehPeople = puckVehPeople;
    }


    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public String getDeliverName() {
        return deliverName;
    }

    public void setDeliverName(String deliverName) {
        this.deliverName = deliverName;
    }

    public String getIsAbnormalSum() {
        return isAbnormalSum;
    }

    public void setIsAbnormalSum(String isAbnormalSum) {
        this.isAbnormalSum = isAbnormalSum;
    }

    public String getDetailedAddress() {
        return detailedAddress;
    }

    public void setDetailedAddress(String detailedAddress) {
        this.detailedAddress = detailedAddress;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }
    public void setEqType(Long eqType)
    {
        this.eqType = eqType;
    }

    public Long getEqType()
    {
        return eqType;
    }
    public void setProjectManager(String projectManager)
    {
        this.projectManager = projectManager;
    }

    public String getProjectManager()
    {
        return projectManager;
    }
    public void setDeliverWay(String deliverWay)
    {
        this.deliverWay = deliverWay;
    }

    public String getDeliverWay()
    {
        return deliverWay;
    }
    public void setDeliverDesc(String deliverDesc)
    {
        this.deliverDesc = deliverDesc;
    }

    public String getDeliverDesc()
    {
        return deliverDesc;
    }
    public void setBeginAddr(String beginAddr)
    {
        this.beginAddr = beginAddr;
    }

    public String getBeginAddr()
    {
        return beginAddr;
    }
    public void setBeginContact(String beginContact)
    {
        this.beginContact = beginContact;
    }

    public String getBeginContact()
    {
        return beginContact;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setLoginIp(String loginIp)
    {
        this.loginIp = loginIp;
    }

    public String getLoginIp()
    {
        return loginIp;
    }
    public void setLoginDate(Date loginDate)
    {
        this.loginDate = loginDate;
    }

    public Date getLoginDate()
    {
        return loginDate;
    }
    public void setEndAddr(String endAddr)
    {
        this.endAddr = endAddr;
    }

    public String getEndAddr()
    {
        return endAddr;
    }
    public void setEndContact(String endContact)
    {
        this.endContact = endContact;
    }

    public String getEndContact()
    {
        return endContact;
    }
    public void setDeliverDate(Date deliverDate)
    {
        this.deliverDate = deliverDate;
    }

    public Date getDeliverDate()
    {
        return deliverDate;
    }
    public void setNeedGiveDate(Date needGiveDate)
    {
        this.needGiveDate = needGiveDate;
    }

    public Date getNeedGiveDate()
    {
        return needGiveDate;
    }
    public void setNeedVehicle(Long needVehicle)
    {
        this.needVehicle = needVehicle;
    }

    public Long getNeedVehicle()
    {
        return needVehicle;
    }
    public void setEstimateLoadRate(BigDecimal estimateLoadRate)
    {
        this.estimateLoadRate = estimateLoadRate;
    }

    public BigDecimal getEstimateLoadRate()
    {
        return estimateLoadRate;
    }
    public void setPushStashNo(String pushStashNo)
    {
        this.pushStashNo = pushStashNo;
    }

    public String getPushStashNo()
    {
        return pushStashNo;
    }
    public void setChangeStashNo(String changeStashNo)
    {
        this.changeStashNo = changeStashNo;
    }

    public String getChangeStashNo()
    {
        return changeStashNo;
    }
    public void setKilometre(BigDecimal kilometre)
    {
        this.kilometre = kilometre;
    }

    public BigDecimal getKilometre()
    {
        return kilometre;
    }
    public void setImgLinks(String imgLinks)
    {
        this.imgLinks = imgLinks;
    }

    public String getImgLinks()
    {
        return imgLinks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectName", getProjectName())
            .append("eqType", getEqType())
            .append("projectManager", getProjectManager())
            .append("deliverWay", getDeliverWay())
            .append("deliverDesc", getDeliverDesc())
            .append("beginAddr", getBeginAddr())
            .append("beginContact", getBeginContact())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("loginIp", getLoginIp())
            .append("loginDate", getLoginDate())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("endAddr", getEndAddr())
            .append("endContact", getEndContact())
            .append("deliverDate", getDeliverDate())
            .append("needGiveDate", getNeedGiveDate())
            .append("needVehicle", getNeedVehicle())
            .append("estimateLoadRate", getEstimateLoadRate())
            .append("pushStashNo", getPushStashNo())
            .append("changeStashNo", getChangeStashNo())
            .append("kilometre", getKilometre())
            .append("imgLinks", getImgLinks())
            .toString();
    }
}